﻿Imports System.Runtime.InteropServices
Imports System.Runtime.Serialization

<DataContract()>
<Serializable()>
Public Class DetalleRespuesta
#Region "Enumeraciones"
    'Public Enum EstatusParaBusquedasCatalogos
    '    Activo
    '    Inactivo
    '    Todos
    'End Enum

    Public Enum CodigoRespuesta
        ProcesamientoOK
        ValoresInvalidos
        ExcepcionEnOperacion
        Catalogo_PreviamenteRegistrado
        Catalogo_NoFueRegistrado
        Catalogo_NoFueActualizado
        Catalogo_RegistroInexistenteOInactivo
        Catalogo_NoObtuvoRegistrosParaListado
        Cuenta_CreadaSinConsumoCatalogoServidores
        Cuenta_RegistradaNoSeCreoBD
        Usuario_UsuarioOContraseñaIncorrectos
        Usuario_CuentaBloqueadaPorSeguridad
        Usuario_DebeCambiarContraseña
        Usuario_SinCorreoElectronico
        Usuario_AdministradorNoPuedeModificarse
        Perfil_AdministradorNoPuedeModificarse
        'Serie_NoSeConsumioFolioSiguiente
        'CodigoDesconocido
        'Catalogo_NoObtuvoRegistro
    End Enum
#End Region

#Region "Campos"
    Private _Catalogo As String
    Private _Codigo As Int32
    Private _Descripcion As String
    Private _Mensajes As String
#End Region

#Region "Propiedades"
    <DataMember()>
    Public Property Codigo() As Int32
        Get
            Return _Codigo
        End Get
        Set(ByVal value As Int32)
            _Codigo = value

            Select Case _Codigo
                Case 0
                    _Descripcion = ""
                Case 1
                    _Descripcion = "Valores inválidos"
                Case 101
                    _Descripcion = "Cuenta previamente registrada"
                Case 102
                    _Descripcion = "La Cuenta no pudo ser registrada en el sistema"
                Case 103
                    _Descripcion = "Cuenta creada pero no se consumio en catálogo de servidores"
                Case 104
                    _Descripcion = "Cuenta registrada pero no se creo su BD"
                Case 105
                    _Descripcion = "Cuenta no existe o no activa"
                Case 106
                    _Descripcion = "Certificado previamente registrado"
                Case 107
                    _Descripcion = "Certificado no pudo ser registrado en el sistema"
                Case 108
                    _Descripcion = "Los datos del Certificado no fueron actualizados"
                Case 109
                    _Descripcion = "No se obtuvo información del Certificado"
                Case 110
                    _Descripcion = "No se obtuvo listado de Certificados"
                Case 111
                    _Descripcion = "Tipo de Producto previamente registrado"
                Case 112
                    _Descripcion = "Tipo de Producto no pudo ser registrado en el sistema"
                Case 113
                    _Descripcion = "Los datos del Tipo de Producto no fueron actualizados"
                Case 114
                    _Descripcion = "No se obtuvo información del Tipo de Producto"
                Case 115
                    _Descripcion = "No se obtuvo Listado de Tipos de Productos"
                Case 201
                    _Descripcion = "El Usuario o la Contraseña son incorrectos"
                Case 202
                    _Descripcion = "Por motivos de seguridad su cuenta ha sido bloqueada, intente nuevamente en 15 minutos"
                Case 203
                    _Descripcion = "Primer inicio de sesión, debe cambiar su contraseña"
                Case 204
                    _Descripcion = "Usuario inexistente o inactivo"
                Case 205
                    _Descripcion = "Usuario no cuenta con Correo Electrónico en su registro"
                Case 206
                    _Descripcion = "Datos Fiscales no han sido actualizados"
                Case 207
                    _Descripcion = "No se obtuvo la información de la Empresa"
                Case 208
                    _Descripcion = "Unidad de Medida previamente registrada"
                Case 209
                    _Descripcion = "La Unidad de Medida no pudo ser registrada en el sistema"
                Case 210
                    _Descripcion = "Datos de Unidad de Medida no han sido actualizados"
                Case 211
                    _Descripcion = "No se obtuvo la información de la unidad de medida"
                Case 212
                    _Descripcion = "Unidad de Medida inexistente o se encuentra inactiva"
                Case 213
                    _Descripcion = "No se obtuvo listado de las unidades de medida"
                Case 214
                    _Descripcion = "Moneda previamente registrada"
                Case 215
                    _Descripcion = "La Moneda no pudo ser registrada en el sistema"
                Case 216
                    _Descripcion = "Datos de Moneda no han sido actualizados"
                Case 217
                    _Descripcion = "No se obtuvo la información de la Moneda"
                Case 218
                    _Descripcion = "Moneda inexistente o se encuentra inactiva"
                Case 219
                    _Descripcion = "No se obtuvo listado de Monedas"
                Case 220
                    _Descripcion = "Serie previamente registrada"
                Case 221
                    _Descripcion = "La Serie no pudo ser registrada en el sistema"
                Case 222
                    _Descripcion = "No fue posible consumir Folio Siguiente de la serie"
                Case 223
                    _Descripcion = "No se obtuvo la información de la serie"
                Case 224
                    _Descripcion = "No se obtuvo listado de la series"
                Case 225
                    _Descripcion = "Impuesto Loca previamente registrado"
                Case 226
                    _Descripcion = "El Impuesto Local no pudo ser registrado en el sistema"
                Case 227
                    _Descripcion = "Datos de Impuesto Local no han sido actualizados"
                Case 228
                    _Descripcion = "No se obtuvo la información del Impuesto Local"
                Case 229
                    _Descripcion = "No se obtuvo listado de Impuesto Local"
                Case 230
                    _Descripcion = "Ubicación previamente registrada"
                Case 231
                    _Descripcion = "La Ubicación no pudo ser registrada en el sistema"
                Case 232
                    _Descripcion = "Datos de Ubicación no han sido actualizados"
                Case 233
                    _Descripcion = "No se obtuvo la información de la Ubicación"
                Case 234
                    _Descripcion = "No se obtuvo listado de Ubicaciones"
                Case 235
                    _Descripcion = "Producto previamente registrado"
                Case 236
                    _Descripcion = "El Producto no pudo ser registrado en el sistema"
                Case 237
                    _Descripcion = "Datos de Producto no han sido actualizados"
                Case 238
                    _Descripcion = "No se obtuvo la información del Producto"
                Case 239
                    _Descripcion = "No se obtuvo listado de Productos"
                Case 240
                    _Descripcion = "El Id de Cliente que se asigna a Contacto de Cliente no existe"
                Case 241
                    _Descripcion = "El Contacto del Cliente no pudo ser registrado en el sistema"
                Case 242
                    _Descripcion = "Datos de Contacto del Cliente no han sido actualizados"
                Case 243
                    _Descripcion = "No se obtuvo la información de Contacto del Cliente"
                Case 244
                    _Descripcion = "No se obtuvo listado de Contacto de Cliente"
                Case 245
                    _Descripcion = "Los datos de Tipo de Documentos no fueron actualizados"
                Case 246
                    _Descripcion = "No se obtuvo información de Tipo de Documentos"
                Case 247
                    _Descripcion = "Los Parámetros para la emisión de comprobantes no pudieron ser registrados en el sistema"
                Case 248
                    _Descripcion = "Datos de Parámetros de emisión de comprobante no han sido actualizados"
                Case 249
                    _Descripcion = "No se obtuvo la información de Parámetros de emisión de comprobantes"
                Case 250
                    _Descripcion = "No se obtuvo la información de Parámetros de emisión de comprobantes predeterminar"
                Case 251
                    _Descripcion = "Número de Días de Crédito previamente registrado"
                Case 252
                    _Descripcion = "El Número de Días de Crédito no pudo ser registrado en el sistema"
                Case 253
                    _Descripcion = "Datos de Número de Días de Crédito no han sido actualizados"
                Case 254
                    _Descripcion = "No se obtuvo la información de Número de Días de Crédito"
                Case 255
                    _Descripcion = "No se obtuvo listado de Número de Días de Crédito"
                Case 256
                    _Descripcion = "No se obtuvo listado de Procesos."
                Case 257
                    _Descripcion = "Perfil previamente registrado"
                Case 258
                    _Descripcion = "El Perfil no pudo ser registrado en el sistema"
                Case 259
                    _Descripcion = "No se obtuvo la información del Perfil"
                Case 260
                    _Descripcion = "No se obtuvo listado de Perfiles"
                Case 261
                    _Descripcion = "Datos de Perfil no han sido actualizados"
                Case 262
                    _Descripcion = "El usuario ADMINISTRADOR no puede ser modificado"
                Case 301
                    _Descripcion = "Sucursal previamente registrada"
                Case 302
                    _Descripcion = "La Sucursal no pudo ser registrada en el sistema"
                Case 303
                    _Descripcion = "Datos Sucursal no han sido actualizados"
                Case 304
                    _Descripcion = "No se obtuvo la información de la Sucursal"
                Case 305
                    _Descripcion = "Sucursal no existe o no activa"
                Case 306
                    _Descripcion = "No se obtuvo el listado de las Sucursales"
                Case 307
                    _Descripcion = "Forma de Pago previamente registrada"
                Case 308
                    _Descripcion = "La forma de pago no pudo ser registrada en el sistema"
                Case 309
                    _Descripcion = "Datos Forma de Pago no han sido actualizados"
                Case 310
                    _Descripcion = "No se obtuvo la información de la Forma de Pago"
                Case 311
                    _Descripcion = "Forma de pago no existe o no activa"
                Case 312
                    _Descripcion = "No se obtuvo el listado de las Formas de Pago"
                Case 313
                    _Descripcion = "Metodo de Pago previamente registrado"
                Case 314
                    _Descripcion = "El Metodo de Pago no pudo ser registrado en el sistema"
                Case 315
                    _Descripcion = "Datos de Metodo de pago no han sido actualizados"
                Case 316
                    _Descripcion = "No se obtuvo la información del Metodo de Pago"
                Case 317
                    _Descripcion = "Metodo de Pago inexistente o se encuentra inactivo"
                Case 318
                    _Descripcion = "No se obtuvo listado de Metodos de Pago"
                Case 319
                    _Descripcion = "Familia previamente registrada"
                Case 320
                    _Descripcion = "La Familia no pudo ser registrada en el sistema"
                Case 321
                    _Descripcion = "Datos de Familia no han sido actualizados"
                Case 322
                    _Descripcion = "No se obtuvo la información de la Familia"
                Case 323
                    _Descripcion = "Familia inexistente o se encuentra inactiva"
                Case 324
                    _Descripcion = "No se obtuvo listado de Familias"
                Case 325
                    _Descripcion = "Alumno previamente registrado"
                Case 326
                    _Descripcion = "El Alumno no pudo ser registrado en el sistema"
                Case 327
                    _Descripcion = "Datos del Alumno no han sido actualizados"
                Case 328
                    _Descripcion = "No se obtuvo la información del Alumno"
                Case 329
                    _Descripcion = "Alumno inexistente o se encuentra inactivo"
                Case 330
                    _Descripcion = "No se obtuvo listado de Alumnos"
                Case 331
                    _Descripcion = "Vendedor previamente registrado"
                Case 332
                    _Descripcion = "El Vendedor no pudo ser registrado en el sistema"
                Case 333
                    _Descripcion = "Datos del Vendedor no han sido actualizados"
                Case 334
                    _Descripcion = "No se obtuvo la información del Vendedor"
                Case 335
                    _Descripcion = "Vendedor inexistente o se encuentra inactivo"
                Case 336
                    _Descripcion = "No se obtuvo listado de Vendedores"
                Case 337
                    _Descripcion = "Cliente previamente registrado"
                Case 338
                    _Descripcion = "El Cliente no pudo ser registrado en el sistema"
                Case 339
                    _Descripcion = "Datos del Cliente no han sido actualizados"
                Case 340
                    _Descripcion = "No se obtuvo la información del Cliente"
                Case 341
                    _Descripcion = "Cliente inexistente o se encuentra inactivo"
                Case 342
                    _Descripcion = "No se obtuvo listado de Clientes"
                Case 343
                    _Descripcion = "Datos Comerciales del Cliente previamente registrados"
                Case 344
                    _Descripcion = "Los Datos Comerciales del Cliente no pudieron ser registrado en el sistema"
                Case 345
                    _Descripcion = "Datos Comerciales del Cliente no han sido actualizados"
                Case 346
                    _Descripcion = "No se obtuvieron los Datos Comerciales del Cliente"
                Case 347
                    _Descripcion = "Datos Adicionales del Cliente previamente registrados"
                Case 348
                    _Descripcion = "Los Datos Adicionales del Cliente no pudieron ser registrado en el sistema"
                Case 349
                    _Descripcion = "Datos Adicionales del Cliente no han sido actualizados"
                Case 350
                    _Descripcion = "No se obtuvieron los Datos Comerciales del Cliente"
                Case 351
                    _Descripcion = "Proveedor previamente registrado"
                Case 352
                    _Descripcion = "El Proveedor no pudo ser registrado en el sistema"
                Case 353
                    _Descripcion = "Datos del Proveedor no han sido actualizados"
                Case 354
                    _Descripcion = "No se obtuvo la información del Proveedor"
                Case 355
                    _Descripcion = "Proveedor inexistente o se encuentra inactivo"
                Case 356
                    _Descripcion = "No se obtuvo listado de Proveedores"
                Case 357
                    _Descripcion = "Los datos de Impuestos Federales no fueron actualizados"
                Case 358
                    _Descripcion = "No se obtuvo información de Impuestos Federales"
                Case 359
                    _Descripcion = "Los datos de Complementos no fueron actualizados"
                Case 360
                    _Descripcion = "No se obtuvo información de Complementos"
                Case 361
                    _Descripcion = "Leyenda previamente registrada"
                Case 362
                    _Descripcion = "La Leyenda no pudo ser registrada en el sistema"
                Case 363
                    _Descripcion = "Datos de la Leyenda no han sido actualizados"
                Case 364
                    _Descripcion = "No se obtuvo la información de la Leyenda"
                Case 365
                    _Descripcion = "Leyenda inexistente o se encuentra inactivo"
                Case 366
                    _Descripcion = "No se obtuvo listado de Leyendas"
                Case 367
                    _Descripcion = "Los datos de Configuración Complementos no fueron actualizados"
                Case 368
                    _Descripcion = "No se obtuvo información de Configuracion Complementos"
                Case 369
                    _Descripcion = "Datos del complemento donatarias no han sido actualizados"
                Case 370
                    _Descripcion = "Datos del complemento iedu no han sido actualizados"
                Case 371
                    _Descripcion = "No se obtuvo información del complemento iedu"
                Case 999
                    _Descripcion = "Excepción al realizar la operación solicitada"
                Case Else
                    _Descripcion = "Código desconocido"
            End Select
        End Set
    End Property

    <DataMember()>
    Public Property Descripcion() As String
        Get
            Return _Descripcion
        End Get
        Set(ByVal value As String)
            _Descripcion = value
        End Set
    End Property

    <DataMember()>
    Public Property Mensajes() As String
        Get
            Return _Mensajes
        End Get
        Set(ByVal value As String)
            _Mensajes = value
        End Set
    End Property
#End Region

#Region "Constructores"
    Public Sub New()

    End Sub

    Public Sub New(ByVal cat As String)
        If Not (String.IsNullOrWhiteSpace(cat)) Then
            MyClass._Catalogo = cat & " "
        End If
    End Sub
#End Region

#Region "Metodos"
    Public Sub estableceValores(ByVal codResp As CodigoRespuesta, ByVal msg As String)
        MyClass._Mensajes = msg
        Select Case codResp
            Case CodigoRespuesta.ProcesamientoOK
                MyClass._Codigo = 0
                MyClass._Descripcion = ""
            Case CodigoRespuesta.ValoresInvalidos
                MyClass._Codigo = 1
                MyClass._Descripcion = "Valores Invalidos"
            Case CodigoRespuesta.ExcepcionEnOperacion
                MyClass._Codigo = 999
                MyClass._Descripcion = "Excepcion al realizar la operación solicitada"



            Case CodigoRespuesta.Catalogo_PreviamenteRegistrado
                MyClass._Codigo = 101
                MyClass._Descripcion = "Previamente registrado"
            Case CodigoRespuesta.Catalogo_NoFueRegistrado
                MyClass._Codigo = 102
                MyClass._Descripcion = "Ocurrió un error al registrar la información"
            Case CodigoRespuesta.Catalogo_NoFueActualizado
                MyClass._Codigo = 103
                MyClass._Descripcion = "Ocurrió un error al registrar los cambios"
            Case CodigoRespuesta.Catalogo_RegistroInexistenteOInactivo
                MyClass._Codigo = 104
                MyClass._Descripcion = "Registro inexistente o inactivo"
            Case CodigoRespuesta.Catalogo_NoObtuvoRegistrosParaListado
                MyClass._Codigo = 105
                MyClass._Descripcion = "No se obtuvieron registros coincidentes"



            Case CodigoRespuesta.Cuenta_CreadaSinConsumoCatalogoServidores
                MyClass._Codigo = 201
                MyClass._Descripcion = "Cuenta creda pero no se consumió en Catálogo de Servidores"
            Case CodigoRespuesta.Cuenta_RegistradaNoSeCreoBD
                MyClass._Codigo = 202
                MyClass._Descripcion = "Cuenta registrada pero no se creó su BD"




            Case CodigoRespuesta.Usuario_UsuarioOContraseñaIncorrectos
                MyClass._Codigo = 301
                MyClass._Descripcion = "Usuario o Contraseña incorrectos"
            Case CodigoRespuesta.Usuario_CuentaBloqueadaPorSeguridad
                MyClass._Codigo = 302
                MyClass._Descripcion = "Por motivos de seguridad su cuenta ha sido bloqueada, intente nuevamente en 15 minutos"
            Case CodigoRespuesta.Usuario_DebeCambiarContraseña
                MyClass._Codigo = 303
                MyClass._Descripcion = "Primer inicio de Sesión, debe cambiar su contraseña"
            Case CodigoRespuesta.Usuario_SinCorreoElectronico
                MyClass._Codigo = 304
                MyClass._Descripcion = "Usuario no cuenta con Correo Electrónico en su registro"
            Case CodigoRespuesta.Usuario_AdministradorNoPuedeModificarse
                MyClass._Codigo = 305
                MyClass._Descripcion = "El Usuario ADMINISTRADOR no puede ser modificado"



            Case CodigoRespuesta.Perfil_AdministradorNoPuedeModificarse
                MyClass._Codigo = 401
                MyClass._Descripcion = "El Perfil ADMINISTRADOR no puede ser modificado"

                'Case CodigoRespuesta.Serie_NoSeConsumioFolioSiguiente
                '    MyClass._Codigo = 401
                '    MyClass._Descripcion = "No fue posible consumir Folio Siguiente de la Serie"
            Case Else

        End Select

    End Sub
#End Region
End Class
